<?php
class class_ABMUsuarios
{
	private $_db; 
	function __construct(){
		$this->config();
	}
	
	function method_getLista($params, $error){
		$this->_db->setQuery("SELECT dni_usuario, CONCAT(apellido, ', ', nombres) as nombre, usuario, email, celular, telefono, tipos_usuarios.tipo AS tipo FROM usuarios INNER JOIN tipos_usuarios ON usuarios.cod_tipo_usuario = tipos_usuarios.cod_tipo_usuario ORDER BY nombre ");
		$this->_db->alter();
        if (mysql_error()){
            $error->SetError(JsonRpcError_Unknown, mysql_error());
            return $error;
		}

		$result = array();
		$regs = $this->_db->loadResult();
		$row = array();
    	FOREACH ($regs as $reg)
		{
			array_push($row, $reg->dni_usuario);
			array_push($row, $reg->nombre);
			array_push($row, $reg->usuario);
			array_push($row, $reg->email);
			array_push($row, $reg->celular);
			array_push($row, $reg->telefono);
			array_push($row, $reg->tipo);
			array_push($result, $row);
			$row = array();
		}
		return $result;
    }
	function method_getTipoUsuarios($params, $error){
		$this->_db->setQuery("SELECT cod_tipo_usuario AS value, tipo AS label FROM tipos_usuarios");
		$this->_db->alter();
	   	if (mysql_error())
		{
            $error->SetError(JsonRpcError_Unknown, mysql_error());
            return $error;
		}
		else{
			$regs = $this->_db->loadResult();
			$result->values = $regs;
			$result->nullValue = true;
		}
		return $result;
    }
	function method_btnBorrar($params, $error)
    {
        if (count($params) != 1)
        {
            $error->SetError(JsonRpcError_ParameterMismatch,
                             "Expected 1 parameter; got " . count($params));
            return $error;
        }

        $this->_db->setQuery("DELETE FROM usuarios WHERE dni_usuario = '" . $params[0] . "'");
        $this->_db->alter();
    	if (mysql_error())
		{
            $error->SetError(JsonRpcError_Unknown, mysql_error());
            return $error;
		}
		return true;
    }
	function method_btnModificar($params, $error)
    {
        if (count($params) != 1)
        {
            $error->SetError(JsonRpcError_ParameterMismatch,
                             "Expected 1 parameter; got " . count($params));
            return $error;
        }

		$this->_db->setQuery("SELECT * FROM usuarios WHERE dni_usuario = '" . $params[0] . "' LIMIT 1");
		$this->_db->alter();
    	if (mysql_error())
		{
            $error->SetError(JsonRpcError_Unknown, mysql_error());
            return $error;
		}
		$reg = $this->_db->loadResult();
		return $reg[0];
    }
	function method_opAlta($params, $error)
    {
        if (count($params) != 1)
        {
            $error->SetError(JsonRpcError_ParameterMismatch,
                             "Expected 1 parameter; got " . count($params));
            return $error;
        }
        $this->_db->setQuery("INSERT INTO usuarios (dni_usuario, apellido, nombres, usuario, password, cod_tipo_usuario, estado, min_turno, email, celular, telefono) VALUES ('" . $params[0]->dni_usuario . "', '" . $params[0]->apellido . "', '" . $params[0]->nombres . "', '" . $params[0]->usuario. "', '" . md5($params[0]->password) . "', '". $params[0]->cod_tipo_usuario ."', 'A', '00:00:20', '". $params[0]->email ."', '". $params[0]->celular ."', '". $params[0]->telefono ."')");
        $this->_db->alter();
    	if (mysql_error())
		{
            $error->SetError(JsonRpcError_Unknown, mysql_error());
            return $error;
		}
		return true;
    }
	function method_opModificacion($params, $error)
    {
        if (count($params) != 1)
        {
            $error->SetError(JsonRpcError_ParameterMismatch,
                             "Expected 1 parameter; got " . count($params));
            return $error;
        }
        $this->_db->setQuery("UPDATE usuarios SET apellido = '" . $params[0]->apellido . "', nombres = '" . $params[0]->nombres . "', usuario = '" . $params[0]->usuario. "', cod_tipo_usuario = '" . $params[0]->cod_tipo_usuario. "', email = '" . $params[0]->email. "', celular = '" . $params[0]->celular. "', telefono = '" . $params[0]->telefono. "' WHERE dni_usuario = '" . $params[0]->dni_usuario . "' LIMIT 1");
        $this->_db->alter();
    	if (mysql_error())
		{
            $error->SetError(JsonRpcError_Unknown, mysql_error());
            return $error;
		}
		return true;
    }
    
	private function config()
	{
		require_once("conexion.php");
		require_once("DataBase.php");
		$this->_db = new DataBase($SERVIDOR,$USUARIO,$PASSWORD,$BASE);
		mysql_query("SET NAMES utf8");
	}
}
?>